               +-----------------------------------+
               | PREMIUM SPAWNER - Tutorial bsico |
               +-----------------------------------+

                                       --------------------------------
                                       Escrito por Nerun em 12/jan/2005
					    ltima reviso: 16/jun/2006
                                                   Totalmente Reescrito
                                       --------------------------------

	Premium Spawner  um "mod" do script Ultimate Spawner, criado por um Scripter brasileiro chamado Atomic, que possuia um Shard chamado AtomicShard. Ele se baseia num script que l as informaes dos spawns num "mapa" e ento os gera no mundo. O script original foi modificado por Nerun (eu mesmo) e como foram adicionadas grandes modificaes ao script original, achei melhor mudar o nome da minha verso. O Premium Spawner  o sucessor do Ultimate Spawner v4.0 R5 (at ento, a simples adio do R, seguido por um nmero, 1, 2... 5 etc, diferenciava a minha verso do script original concebido por Atomic). As diferenas fundamentais so:

 - O "Premium" possui novas propriedades:
    1. SpawnRange - distncia mxima de spawn (HomeRange = raio de caminhada)
    2. SpawnID - ID de spawners, usado para remover spawns
    3. OverrideID - funciona como OverrideMap, mas para SpawnID
    4. OverrideMinTime - funciona como OverrideMap, mas para MinDelay
    5. OverrideMaxTime - funciona como OverrideMap, mas para MaxDelay

 - A "Premium" no usa mais os "tipos" de spawns padro no Ultimate.

 - O "Premium" possui uma engine prpria, no utilizando mais o spawner padro
   que vem com o RunUO, ele utiliza ao invs, o "PremiumSpawner". Voc pode
   usar ambos os sistemas simultaneamente.

	O bsico do bsico que  preciso saber,  que este Sistema de spawner  til para se manter "salvo" em um arquivo (o mapa) os spawners que voc criou at agora. Pois supomos que voc tenha de apagar tudo e recomear o mundo do zero. Ter de colocar mais de dez mil spawns denovo?! NO! Apenas usa um comando e pronto, tudo gerado denovo, e sem esforo, que se d apenas no processo de criao do mapa.
	O sistema atual est na verso 5.0.0, e  considerada bastante madura (do ponto de vista da estabilidade, recursos e facilidade de uso) e completa (do ponto de vista do povoamento do mundo).


NDICE:
	1. INSTALANDO O PREMIUM SPAWNER
	2. PARTE I - O Menu Principal
	3. PARTE II - Criando um Mapa (Bsico)
	4. PARTE III - Usando os Mapas "In-Game" (Bsico)
	5. PARTE IV - Criando um Mapa (Avanado)
	6. PARTE V - Usando os Mapas "In-Game" (Avanado)
	7. PARTE VI - Opes de Edio
	8. PARTE VII - Sistema de Reduo de Lag



>>>>>>>>>>>>>>>>>>>>>>>>>>>>
INSTALANDO O PREMIUM SPAWNER
<<<<<<<<<<<<<<<<<<<<<<<<<<<<

	O sistema de criao de spawners, Premium Spawner,  composto por uma coleo de scripts. Como j somam muitos scripts, no irei enumer-los aqui. Atualmente este sistema de spawner  distribudo num pacote chamado "Nerun's Distro". Eram diversos pacotes no comeo, mas para facilidade eu os agrupei numa nica distribuio. Este pacote tambm inclui outros recursos, como mapas de spawns para serem usados com esse sistema. Assim como gumps (menus) fceis de usar para facilitar ainda mais o povoamento do seu mundo. Esta distro pode ser encontrada no site do RunUO, na seo de "Scripts Submissions":

	http://www.runuo.com/forum/...

Para instalar a distro:

1) Dezip "Nerun's Distro vx.x.x".
2) Depois voc ver duas pastas: "Data" e "Scripts". E 4 arquivos: um tutorial (EN-US e PT-BR), uma imagem (bmp) com as areas dos spawns e um changelog.
3) Corte as pastas "Data" e "Scripts".
4) V para "c:\RunUO 2.0\" (diretrio raiz do RunUO) e cole-as l, o Windows Explorer perguntar se voc deseja sobrescrever, clique "sim para todos".



>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE I - O Menu Principal
<<<<<<<<<<<<<<<<<<<<<<<<<<

	Voc pode acessar o menu principal do sistema digitando [spawner. H muitas opes no menu, com duas pginas. As opes costuma ser auto-explicativas e/ou conter dicas. Mas vou list-las aqui:


USO ATRAVS DO MENU                        LINHA DE COMANDO
===========================================================
WORLD CREATION OPTIONS:
	Create World Gump ------------------ [createworld
SPAWN OPTIONS:
	Spawn Trammel/Felucca -------------- [spawn
	Spawn Ilshenar --------------------- [spawnilshenar
	Spawn Malas ------------------------ [spawnmalas
	Spawn Tokuno ----------------------- [spawntokuno
	Spawn Mondain's Legacy ------------- [spawnmondain
UNLOAD SPAWNS
	Unload Trammel/Felucca spawns ------ [unload
	Unload Ilshenar spawns ------------- [unloadilshenar
	Unload Malas spawns ---------------- [unloadmalas
	Unload Tokuno spawns --------------- [unloadtokuno
	Unload Mondain's Legacy spawns ----- [unloadmondain
SAVE OPTIONS:
	Save All spawns (spawns.map) ------- [spawngen save
	Save 'By Hand' spawns (byhand.map) - [spawngen savebyhand
	Save spawns inside region ---------- [spawngen save RegionName
	Save spawns by coordinates --------- [spawngen save x1 y1 x2 y2
REMOVE OPTIONS:
	Remove All spawners (all facets) --- [spawngen remove
	Remove All spawners (current map) -- [spawnrem
	Remove spawners by ID -------------- [spawngen unload SpawnID
	Remove spawners by Coordinates ----- [spawngen remove x1 y1 x2 y2
	Remove spawners inside Region ------ [spawngen remove RegionName
EDITION OPTIONS:
	Spawn Editor ----------------------- [editor
	Clear All Facets ------------------- [clearall
	Set my own body to GM Style -------- [gmbody
CONVERSION UTILITY:
	RunUO Spawns to PremiumSpawner ----- [rse
SMART PLAYER RANGE SENSITIVE
	Enable ----------------------------- sem equivalente
	Disable ---------------------------- sem equivalente


	Como vocs podem ver, ele centraliza num nico menu todos os comandos do sistema, voc no precisa saber como se escreve cada comando para poder us-los, basta clicar, seguir as instrues e pronto. Os captulos seguintes iro descrever como criar um mapa, e como usar a linha de comando ao invs do Menu "[spawner".



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE II - Criando um Mapa (Bsico)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

	O Bloco de Notas pode ser usado para criar os mapas. Voc ver as seguintes informaes num mapa bsico:

## Britain Graveyard:
*|Spectre:Wraith|Skeleton|Zombie||||1369|1475|10|2|5|10|30|20|1|2|3|4|0|0|0

	Este  um mapa que fornece as informaes de todos os spawns do cemitrio de Britain. Vamos analis-lo:

 - A primeira linha comea com um "##", esse duplo "sharp" marca o
   incio de um comentrio, isto , o que vier depois dele, nessa linha,
   no ser lido pelo script. Geralmente  usado para fornecer
   informaes sobre o script: de qual dungeon  o mapa, qual reviso
   est etc.

 - As linhas subsequentes so os spawners em si. Cada linha  um spawner,
   mas a vantagem do PremiumSpawner  que ele comporta at 6 FakeSpawners
   dentro de si, que nada mais so do que spawners com os mesmos atributos
   de distncia, tempo etc, mas com lista de criaturas e quantidades diferentes:

	*|Spectre:Wraith|Skeleton|Zombie||||1369|1475|10|2|5|10|30|20|1|2|3|4|0|0|0

   Todo spawner comea com um "*", seguido por uma "|", esta "|" separa as
   informaes dentro da linha. Os primeiros 6 espaos so os nomes das criaturas,
   que no caso so:
	Spawner 1: Spectre OU Wraith (o ":" serve para adicionar varias criaturas
                                      numa lista aleatria)
	Spawner 2: Skeleton
	Spawner 3: Zombie
	Spawner 4: Nenhum (vazio)
	Spawner 5: Nenhum (vazio)
	Spawner 6: Nenhum (vazio)

   Os trs nmeros que vem depois do nome da criatura definem o lugar
   onde ir ser criado o spawner. Seguindo o formato X Y Z (todas as
   informaes do spawner so separadas por uma "|"). No caso, o spawner
   vai aparecer nas coordenadas 1369|1475|10, i. e., X = 1369, Y = 1475
   e Z = 10. Se voc digitar "[go 1369 1475 10" voc ir para o lugar
   onde vai aparecer este spawner.

   O quarto nmero diz qual  o mapa onde ir ser colocado este spawner.
   Perceba que o referido nmero  2. A definio dos mapas segue este
   padro:
	0 = spawner vai aparecer em Felucca & Trammel
        1 = spawner vai aparecer somente em Felucca
        2 = spawner vai aparecer somente em Trammel
	3 = spawner vai aparecer somente em Ilshenar
	4 = spawner vai aparecer somente em Malas
	5 = spawner vai aparecer somente em Tokuno
   Logo, deduzimos que o spawner vai aparecer em Trammel, pois o quarto
   nmero (o do mapa)  o nmero 2.

   Os prximos dois nmeros aps o do mapa definem respectivamente o
   tempo mnimo e o tempo mximo para o respawn. Isto , as criaturas
   daquele spawner vo "dar respawn" num intervalo de tempo escolhido
   aleatoriamente entre o tempo mnimo e o mximo. No caso temos "5|10|"
   , com uma "|" os dois nmeros (sempre uma "|"). O tempo est em
   minutos, logo os spawners vo dar respawn entre 5 e 10 min aps
   terem sido mortos pelos players.

   Os prximos dois nmeros aps os nmeros do tempo, so respectiva-
   mente o HomeRange e o SpawnRange. No caso, 30 de HomeRange e 20 de
   SpawnRange. As criaturas se afastaro portanto a at 30 "quadradinhos"
   (aqueles que a gente v quando d um zoom mximo no jogo) de distn-
   cia do spawner. Mas eles "daro respawn" aleatoriamente dentro de
   um raio de at 20 "quadradinhos" de distncia do spawner. Perceba
   que o SpawnRange  sempre MENOR ou IGUAL ao HomeRange, NUNCA MAIOR.

   O prximo nmero, identifica o spawner,  uma "SpawnID", ela diz
   a que conjunto de spawners aquele spawner em particular pertence.
   Por default,  sempre 1. Ou seja, qualquer spawner criado em jogo
   utilizando-se do "[add premiumspawner..." ter como SpawnID o nmero 1.
   Isto identifica os spawns criados "by hand", na mo. Mas os mapas,
   podem ter qualquer nmero para o SpawnID. E  aconselhvel que
   todos os spawns de um mesmo mapa, tenham o mesmo SpawnID. Veremos
   o porque disto depois.

   Os ltimos 6 nmeros, tambm importantes, dizem QUANTOS monstros daquele
   tipo que foi definido no comeo do spawner (os 6 primeiros espaos), iro
   ser gerados por aquele spawner. No caso os nmeros so "2|3|4|0|0|0", logo
   sero criados 2 spectres ou wraiths, 3 skeletons e 4 zombies. J os ltimos
   nmeros so 0, ou seja, nada ser gerado nos 3 ltimos spawners, mesmo que
   voc definisse algum valor, nada seria gerado, pois nenhuma criatura foi
   listada neles.

	Como observao, perceba que a maioria das propriedades de um spawner, descritas acima, podem ser definidas sem a necessidade de "ver" onde o spawner ir aparecer, mas as coordenadas ser necessrio "ver". Isto porque se voc escolher coordenadas aleatoriamente, corre o risco de criar um spawner num lugar inacessvel, como por exemplo, no meio do oceano!!! De forma que  necessrio ir at o lugar onde voc gostaria que o spawner aparecesse e usar o comando "[get location" no lugar. E ento anotar as coordenadas que vo aparecer na tela. Outro comando  "[where", que diz o lugar onde voc est, neste caso fique sobre o lugar onde voc deseja que o spawner aparea.
	Feito o mapa,  s salv-lo no diretrio Data/Monsters (se no houver uma pasta Monsters dentro de Data,  hora de criar uma. Clique em "Salvar Como", selecione em Salvar como Tipo, "Todos os Arquivos" e ento digite um nome para o mapa, no esquecendo de colocar o ".map" no fim do nome. No exemplo acima, se tivssemos feito aquele mapa, poderamos dar-lhe o nome de "graveyard.map".

RESUMINDO
	O formato padro de um spawner :

*|Lista1|Lista2|Lista3|Lista4|Lista5|Lista6|X|Y|Z|mapa|TempoMn|TempoMx|HomeRange|SpawnRange|SpawnID|Count1|Count2|Count3|Count4|Count5|Count6



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE III - Usando os Mapas "In-Game"
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

	Esta parte  simples, so apenas a lista de comandos que se deve utilizar dentro do jogo para que o script gere os spawners a partir dos mapas criados. Partindo do pressuposto que voc j instalou os scripts necessrios no diretrio do RunUO, voc pode usar os seguintes comandos:

 - [spawngen nomedomapa.map
	Este l o mapa e gera os spawns. No nosso exemplo poderia ser algo como "[spawngen graveyard.map".

 - [spawngen remove
	Este comando  perigoso, porque APAGA TODOS os spawners de todos os mundos do UO! Indiferente de voc t-los feito  mo ou usando a tcnica dos mapas.

 - [spawngen save
	Comando til, ele SALVA num arquivo chamado "Spawns.map" TODOS os spawners que existirem em seu mundo!  til para no ter que usar 20 vezes o comando de criao de spawners pra CADA mapa que voc fez, se tiver que spawnear o seu mundo de novo... com a vantagem de salvar tanto os spawners feitos  mo quanto os feitos pela tcnica dos mapas.

 - [spawnrem
	Remove todos os spawners do mapa atual (o mapa no qual foi executado o comando).



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE IV - Criando um Mapa (Avanado)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

	Voc j aprendeu a criar mapas usando o mtodo de classe, i. e, voc digita o nome da criatura e depois as estatsticas. Mas e se voc quiser mais de um tipo de criatura no mesmo spawner?

	Use o mtodo dos pontos. Neste caso, bastaria separar as criaturas que voc gostaria que aparecessem naquele spawner por ":", como no exemplo abaixo:

*|Spectre:Wraith||||||1369|1475|10|2|5|10|30|20|1|10|0|0|0|0|0

	Como resultado final voc ter o spawner selecionando aleatoriamente dentro da quantidade indicada, entre as criaturas na lista, separadas por ponto. Lembrando que voc pode colocar quantas criaturas quiser, todas separadas pelo ":". No exemplo, poderamos ter 7 Spectre e 3 Wraith, ou 5 de cada, este nmero vai variar.



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE V - Usando os Mapas "In-Game" (Avanado)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


Povoamento In-Game
------------------

	Outra forma de povoar o mundo  ir "in-game" e adicionar os spawners manualmente, com o comando [add premiumspawner <nomedacriatura>. E depois setar os atributos (x = nmero):

[set count x homerange x spawnrange x maxdelay x mindelay x


Comandos para Salvar e Remover Spawns
-------------------------------------

	Depois que terminar de povoar a rea desejada, use o comando [spawngen save, mas espere, vou ensinar-lhe algumas opes avanadas deste comando.

[spawngen savebyhand
	Use este comando para salvar todos os spawns que voc fez "na mo" (SpawnID = 1) para um arquivo de nome "byhand.map".

[spawngen save x1 y1 x2 y2
	Com isto voc salva para o arquivo spawns.map todos os spawners que estiverem dentro do retngulo definido pelos valores x1 y1 x2 y2. Mais uma vez, x e y aqui so coordenadas, como no
exemplo:

 (x1,y1)------+      	Todos os spawners entre o primeiro grupo
   |          |      de coordenadas (x1,y1) e o segundo grupo (x2,y2)
   |          |      formam um retngulo, e tudo que estiver nesta
   |          |      rea definida ser salvo para o arquivo. A
   |          |      coordenada Z neste caso, no  necessria.
   +---------(x2,y2)

[spawngen save <region>
	Este  bom tambm, salva arquivos numa regio definida pelo RunUO. A lista completa das regies varia de mapa para mapa, e voc pode ach-la no arquivo que est em c:/RunUO/Data/,
chamado Regions.xml. Por exemplo, podemos ver em Regions.xml o seguinte trecho:

<region priority="50" name="Minoc">
	<rect x="2411" y="366" width="135" height="241" />
	<rect x="2548" y="495" width="72" height="55" />
	<rect x="2564" y="585" width="3" height="42" />
	<rect x="2567" y="585" width="61" height="61" />
	<rect x="2499" y="627" width="68" height="63" />
	<inn x="2457" y="397" width="40" height="8" />
	<inn x="2465" y="405" width="8" height="8" />
	<inn x="2481" y="405" width="8" height="8" />
	<go location="(2466,544,0)" />
	<music name="Minoc" />
</region>

	Isto define os limite da cidade de Minoc, e cria um monte de retngulos, logo, tudo que estiver dentro destes retngulos ser salvo para "o spawns.map". s vezes  til. Como observao, o "[spawngen remove", pode ser usado com as mesmas opes do "[spawngen save" descritas acima, com a diferena que os spawners dentro do retngulo sero apagados. Outra opo  digitar [where, e a regio onde voc se encontra vai aparecer na tela do jogo,  s copiar o nome.
	Para encerrar, ao salvar spawners que ficam salvos no spawns.map, v at Data/Monsters e renomeie o arquivo para o nome que voc quiser, pois se voc der outro "[spawngen save", voc corre o risco de perder seus spawners. Por exemplo, poderamos renomear o spawns.map gerado pelo "[spawngen save minoc" para Minoc.map.


Removendo mapas - o mtodo Unload (recomendado)
-----------------------------------------------

	Outra possibilidade  remover um determinado mapa, sem ter que apagar os demais (atravs do [spawngen remove), e este mtodo que irei falar agora,  o melhor mtodo para remover mapas que no se deseja. Em jogo use:

[spawngen unload SpawnID

	Por isso que cada mapa deve ter a mesma ID para todos os seus spawners, pois se voc der uma ID diferente para cada spawner do mapa, voc no conseguir remover todo ele. Vamos ver o caso do Graveyards.map discutido acima. Todos os spawns dele tem como SpawnID o valor 1 (se lembre de dar valores diferentes para cada mapa). Vejamos:

## Britain Graveyard:
*|Spectre:Wraith|Skeleton|Zombie||||1369|1475|10|2|5|10|30|20|1|2|3|4|0|0|0

	Mas a tem um problema, pois 1  o nmero default para mapas feitos "na mo", em jogo. Ento temos que dar uma ID diferente para este mapa. No exemplo acima bastaria alterar cada uma das linhas. Mas e se o mapa tivesse 100 ou talvez 1000 spawners? Seria trabalho demais no? Por isso existe o "overrideid", que  um recurso que configura todas as IDs do mapa para a mesma ID, com a simples adio de uma linha ao topo do arquivo. Bom, para exemplificar eu irei configurar a ID deste mapa para "14", que  um bom nmero.

overrideid 14
## Britain Graveyard:
*|Spectre:Wraith|Skeleton|Zombie||||1369|1475|10|2|5|10|30|20|1|2|3|4|0|0|0

	Stil diferena no? Apesar de cada spawner ainda ter o valor 1 como ID em cada linha, o "overrideid 14" far com que o gerador de spawners leia aquele "1" como se fosse "14". Depois em jogo, se eu quiser remover este mapa  s digitar "[spawngen unload 14", e pronto. Nenhum dos seus outros spawns ser alterado ou removido.


Sobrescrevendo Mapas
--------------------

	J pensou em fazer um mapa que sirva tanto para Trammel quanto para Felucca? Pois , ao invs de usar apagar o nmero do mapa de cada linha de spawner de seu mapa para fazer com que ele funcione em outro mundo, simplesmente, sobrescreva o nmero do mapa com uma nica linha, como voc fez com as IDs acima. Assim poderamos usar o mapa do exemplo acima, que gera spawns em Trammel apenas, para gerar spawns tanto em Trammel quanto em Felucca, adicionando "overridemap":

overridemap 0
overrideid 14
## Britain Graveyard:
*|Spectre:Wraith|Skeleton|Zombie||||1369|1475|10|2|5|10|30|20|1|2|3|4|0|0|0

	Aqui ele faz com que o "2" do mapa, seja lido como "0" pelo gerador de spawners. Os nmeros dos mapas so os mesmos usados e descritos em "PARTE II - Criando um Mapa (Bsico)".

Sobrescrevendo DelayTime
------------------------

	No gostou do tempo mnimo e mximo para o respawn dos NPCs que vem como padro na distro? Quer mudar? Aumentar ou diminuir o tempo? Faa exatamente como para OverrideID ou OverrideMap, mas ao invs, utilize:

overridemintime

e/ou

overridemaxtime

Exemplo:

overridemintime 10
overridemaxtime 20
overridemap 0
overrideid 14
## Britain Graveyard:
*|Spectre:Wraith|Skeleton|Zombie||||1369|1475|10|2|5|10|30|20|1|2|3|4|0|0|0

	Aqui ele faz com que o "2" do mapa, seja lido como "0", o "1" da ID seja lido como "14", e o "5" e "10" do delay sejam lidos como "10" e "20" respectivamente pelo gerador de spawners. Os nmeros dos mapas so os mesmos usados e descritos em "PARTE II - Criando um Mapa (Bsico)".



>>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE VI - Opes de Edio
<<<<<<<<<<<<<<<<<<<<<<<<<<<

[editor
	Isto vai abrir o editor de spawns. Ser listado todos os spawners do mapa em que voc estiver, na coluna da esquerda. Na coluna da direita voc pode selecionar para exibio obedecendo certos critrios, tais como: apenas os spawns dentro certa distncia de onde voc estiver, ou apenas spawns com determinada ID, ou apenas aqueles que tiverem certa criatura. Uma vez selecionado o spawner a editar, voc pode: dar um [props, alterar qualquer atributo dele, criaturas etc.

[clearall
	Quer apagar tudo e comear do zero? Isto funciona como o [Clearfacet, s que apaga todos os mapas, e no apenas aquele no qual voc estiver. Seja cauteloso ao us-lo.

[GMbody
	Esta distro configurou certas caractersticas comuns aos GMs, e criou um comando que quando usado em si mesmo, configura o personagem com uma srie de itens, incluindo Robe, spellbooks, ethereal horse, cor de cabelo, ttulos diferentes para cada nvel da hierarquia ([Owner], [Developer], [Admin], [Seer], [GM] e [Counselor]). Alm de setar o seu corpo para o corpo humano, caso voc tenha se modificado para uma quest.



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PARTE VII - Sistema de Reduo de Lag
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

A partir da verso 4.0.7  possvel contar com um Sistema Inteligente de Reduo de Lag, que se baseia na proximidade dos jogadores dos spawns. Ele liga ou desliga um spawner conforme a proximidade dos jogadores, diminuindo os itens e os NPCs em jogo, assim como os tempos de save.

E mais: membros da Staff que estiverem ocultos (hide) no ativam os spawns tambm. Para isso eles devem estar visveis.

O sistema  habilitado por padro. Para desabilitar acesse o menu principal na parte: SMART PLAYER RANGE SENSITIVE.